#ifndef _DD_CIRCLE_2D_H_
#define _DD_CIRCLE_2D_H_

#include "dd_base_2d.h"

namespace dd 
{
///////////////////////////////////////////////////////
///	\brief	Circle2D debug shape
///////////////////////////////////////////////////////
class Circle2D : public PrimitiveBase2D
{
public:
    /**
     * Initialize class
     */
					Circle2D();

    /**
     * Destroy class
     */
    virtual			~Circle2D();

    /**
     * Render to buffer
     * @param   _pBuffer    Buffer to render into
     */
	virtual void	Render(DBG_BUFFER_2D* _pBuffer);
    
    /**
     * Setup primitive
     * @param   _From       Origin
     * @param   _To         Destination 
     * @param   _Color      Color of primitive
     * @param   _Arrow      Add arrowhead at destination ?
     */
   void	Setup(const math::Vec2& _Pos, float Radius, COLOR _Color = ColorRGBA(255, 255, 255), bool IsFilled = false);
private:
	math::Vec2			m_Pos;		/// Origin
	float				m_Radius;   /// Size
	bool				m_IsFilled;
};

}// End namespace dd


#endif //_DD_CIRCLE_2D_H_